package com.xebest.web.mapper.write;

import com.xebest.web.model.XeVenStoreInventoryEntity;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface XeVenStoreInventoryWriteMapper {
    /**
     * 添加库存一览信息
     *
     * @author 杜春静
     */
    int insertXeVenStoreInv(XeVenStoreInventoryEntity record) throws Exception;

    /**
     * 批量更改库存在途数
     *
     * @author 杜春静
     */
    int batchUpdateStoreInv(List<XeVenStoreInventoryEntity> params) throws Exception;

    /**
     * 批量更新库存上下限
     *
     * @author 杜春静
     */
    int batchUpdateInvLimit(Map<String, Object> params) throws Exception;

    /**
     * 更新仓库一览表信息
     *
     * @param record  要更新的仓库一览信息
     * @param saleNum 要销售的商品数量 用于判断库存是否充足
     * @author 杜春静
     */
    int updateStoreInvByMap(@Param("record") XeVenStoreInventoryEntity record, @Param("saleNum") BigDecimal saleNum) throws Exception;

    /**
     * 更新仓库一览的基本信息
     *
     * @author 杜春静
     */
    int updateStoreInvByStoreInv(XeVenStoreInventoryEntity record) throws Exception;

    /**
     * 根据Map查询仓库库存
     *
     * @author 杜春静
     */
    XeVenStoreInventoryEntity getStoreInvByParam(@Param("form") XeVenStoreInventoryEntity record);
}